Alright, thus far, we have only used Queen neighborhood matrices with our data. Let’s use this exercise to try out different variations. First of all, run the below in order to compile the data that were also used in the lecture.
## Reading layer `OGRGeoJSON' from data source
## `https://geoportal.stadt-koeln.de/arcgis/rest/services/Basiskarten/kgg/MapServer/20/query?where=objectid+is+not+null&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&havingClause=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&historicMoment=&returnDistinctValues=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&datumTransformation=¶meterValues=&rangeValues=&quantizationParameters=&featureEncoding=esriDefault&f=geojson'
## using driver `GeoJSON'
## Simple feature collection with 543 features and 20 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 6.77253 ymin: 50.83045 xmax: 7.162028 ymax: 51.08496
## Geodetic CRS: WGS 84
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 949 Columns: 79
## ── Column specification ───────────────────────────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (3): wahl, ags, gebiet-name
## dbl (71): gebiet-nr, max-schnellmeldungen, anz-schnellmeldungen, A1, A2, A3, A, B, B1, C, D, E, F, ...
## lgl (4): D30, F30, D31, F31
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
##
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|== | 3%
|
|=== | 3%
|
|=== | 4%
|
|==== | 4%
|
|==== | 5%
|
|===== | 5%
|
|===== | 6%
|
|====== | 6%
|
|====== | 7%
|
|======= | 7%
|
|======= | 8%
|
|======== | 8%
|
|======== | 9%
|
|========= | 9%
|
|========= | 10%
|
|========== | 10%
|
|========== | 11%
|
|=========== | 11%
|
|=========== | 12%
|
|============ | 13%
|
|============= | 13%
|
|============= | 14%
|
|============== | 15%
|
|=============== | 16%
|
|=============== | 17%
|
|================ | 17%
|
|================ | 18%
|
|================= | 18%
|
|================= | 19%
|
|================== | 19%
|
|================== | 20%
|
|=================== | 20%
|
|=================== | 21%
|
|==================== | 21%
|
|==================== | 22%
|
|===================== | 22%
|
|===================== | 23%
|
|====================== | 23%
|
|====================== | 24%
|
|======================= | 24%
|
|======================= | 25%
|
|======================== | 25%
|
|======================== | 26%
|
|========================= | 27%
|
|========================== | 27%
|
|========================== | 28%
|
|=========================== | 29%
|
|============================ | 30%
|
|============================ | 31%
|
|============================= | 31%
|
|============================= | 32%
|
|============================== | 32%
|
|============================== | 33%
|
|=============================== | 33%
|
|=============================== | 34%
|
|================================ | 34%
|
|================================ | 35%
|
|================================= | 35%
|
|================================= | 36%
|
|================================== | 36%
|
|================================== | 37%
|
|=================================== | 37%
|
|=================================== | 38%
|
|==================================== | 38%
|
|==================================== | 39%
|
|===================================== | 39%
|
|===================================== | 40%
|
|====================================== | 40%
|
|====================================== | 41%
|
|======================================= | 41%
|
|======================================= | 42%
|
|======================================== | 43%
|
|========================================= | 44%
|
|========================================= | 45%
|
|========================================== | 45%
|
|========================================== | 46%
|
|=========================================== | 46%
|
|=========================================== | 47%
|
|============================================ | 47%
|
|============================================ | 48%
|
|============================================= | 48%
|
|============================================= | 49%
|
|============================================== | 49%
|
|============================================== | 50%
|
|=============================================== | 50%
|
|=============================================== | 51%
|
|================================================ | 51%
|
|================================================ | 52%
|
|================================================= | 52%
|
|================================================= | 53%
|
|================================================== | 53%
|
|================================================== | 54%
|
|=================================================== | 54%
|
|=================================================== | 55%
|
|==================================================== | 55%
|
|==================================================== | 56%
|
|===================================================== | 57%
|
|====================================================== | 58%
|
|====================================================== | 59%
|
|======================================================= | 59%
|
|======================================================= | 60%
|
|======================================================== | 60%
|
|======================================================== | 61%
|
|========================================================= | 61%
|
|========================================================= | 62%
|
|========================================================== | 62%
|
|========================================================== | 63%
|
|=========================================================== | 63%
|
|=========================================================== | 64%
|
|============================================================ | 64%
|
|============================================================ | 65%
|
|============================================================= | 65%
|
|============================================================= | 66%
|
|============================================================== | 66%
|
|============================================================== | 67%
|
|=============================================================== | 67%
|
|=============================================================== | 68%
|
|================================================================ | 68%
|
|================================================================ | 69%
|
|================================================================= | 69%
|
|================================================================= | 70%
|
|================================================================== | 71%
|
|=================================================================== | 72%
|
|=================================================================== | 73%
|
|==================================================================== | 73%
|
|===================================================================== | 74%
|
|===================================================================== | 75%
|
|====================================================================== | 75%
|
|====================================================================== | 76%
|
|======================================================================= | 76%
|
|======================================================================= | 77%
|
|======================================================================== | 77%
|
|======================================================================== | 78%
|
|========================================================================= | 78%
|
|========================================================================= | 79%
|
|========================================================================== | 79%
|
|========================================================================== | 80%
|
|=========================================================================== | 80%
|
|=========================================================================== | 81%
|
|============================================================================ | 81%
|
|============================================================================ | 82%
|
|============================================================================= | 82%
|
|============================================================================= | 83%
|
|============================================================================== | 83%
|
|============================================================================== | 84%
|
|=============================================================================== | 85%
|
|================================================================================ | 86%
|
|================================================================================ | 87%
|
|================================================================================= | 87%
|
|================================================================================== | 88%
|
|================================================================================== | 89%
|
|=================================================================================== | 89%
|
|=================================================================================== | 90%
|
|==================================================================================== | 90%
|
|==================================================================================== | 91%
|
|===================================================================================== | 91%
|
|===================================================================================== | 92%
|
|====================================================================================== | 92%
|
|====================================================================================== | 93%
|
|======================================================================================= | 93%
|
|======================================================================================= | 94%
|
|======================================================================================== | 94%
|
|======================================================================================== | 95%
|
|========================================================================================= | 95%
|
|========================================================================================= | 96%
|
|========================================================================================== | 96%
|
|========================================================================================== | 97%
|
|=========================================================================================== | 97%
|
|=========================================================================================== | 98%
|
|============================================================================================ | 99%
|
|=============================================================================================| 100%
##
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|== | 3%
|
|=== | 3%
|
|=== | 4%
|
|==== | 4%
|
|==== | 5%
|
|===== | 5%
|
|===== | 6%
|
|====== | 6%
|
|====== | 7%
|
|======= | 7%
|
|======= | 8%
|
|======== | 8%
|
|======== | 9%
|
|========= | 9%
|
|========= | 10%
|
|========== | 10%
|
|========== | 11%
|
|=========== | 11%
|
|=========== | 12%
|
|============ | 13%
|
|============= | 13%
|
|============= | 14%
|
|============== | 15%
|
|=============== | 16%
|
|=============== | 17%
|
|================ | 17%
|
|================ | 18%
|
|================= | 18%
|
|================= | 19%
|
|================== | 19%
|
|================== | 20%
|
|=================== | 20%
|
|=================== | 21%
|
|==================== | 21%
|
|==================== | 22%
|
|===================== | 22%
|
|===================== | 23%
|
|====================== | 23%
|
|====================== | 24%
|
|======================= | 24%
|
|======================= | 25%
|
|======================== | 25%
|
|======================== | 26%
|
|========================= | 27%
|
|========================== | 27%
|
|========================== | 28%
|
|=========================== | 29%
|
|============================ | 30%
|
|============================ | 31%
|
|============================= | 31%
|
|============================= | 32%
|
|============================== | 32%
|
|============================== | 33%
|
|=============================== | 33%
|
|=============================== | 34%
|
|================================ | 34%
|
|================================ | 35%
|
|================================= | 35%
|
|================================= | 36%
|
|================================== | 36%
|
|================================== | 37%
|
|=================================== | 37%
|
|=================================== | 38%
|
|==================================== | 38%
|
|==================================== | 39%
|
|===================================== | 39%
|
|===================================== | 40%
|
|====================================== | 40%
|
|====================================== | 41%
|
|======================================= | 41%
|
|======================================= | 42%
|
|======================================== | 43%
|
|========================================= | 44%
|
|========================================= | 45%
|
|========================================== | 45%
|
|========================================== | 46%
|
|=========================================== | 46%
|
|=========================================== | 47%
|
|============================================ | 47%
|
|============================================ | 48%
|
|============================================= | 48%
|
|============================================= | 49%
|
|============================================== | 49%
|
|============================================== | 50%
|
|=============================================== | 50%
|
|=============================================== | 51%
|
|================================================ | 51%
|
|================================================ | 52%
|
|================================================= | 52%
|
|================================================= | 53%
|
|================================================== | 53%
|
|================================================== | 54%
|
|=================================================== | 54%
|
|=================================================== | 55%
|
|==================================================== | 55%
|
|==================================================== | 56%
|
|===================================================== | 57%
|
|====================================================== | 58%
|
|====================================================== | 59%
|
|======================================================= | 59%
|
|======================================================= | 60%
|
|======================================================== | 60%
|
|======================================================== | 61%
|
|========================================================= | 61%
|
|========================================================= | 62%
|
|========================================================== | 62%
|
|========================================================== | 63%
|
|=========================================================== | 63%
|
|=========================================================== | 64%
|
|============================================================ | 64%
|
|============================================================ | 65%
|
|============================================================= | 65%
|
|============================================================= | 66%
|
|============================================================== | 66%
|
|============================================================== | 67%
|
|=============================================================== | 67%
|
|=============================================================== | 68%
|
|================================================================ | 68%
|
|================================================================ | 69%
|
|================================================================= | 69%
|
|================================================================= | 70%
|
|================================================================== | 71%
|
|=================================================================== | 72%
|
|=================================================================== | 73%
|
|==================================================================== | 73%
|
|===================================================================== | 74%
|
|===================================================================== | 75%
|
|====================================================================== | 75%
|
|====================================================================== | 76%
|
|======================================================================= | 76%
|
|======================================================================= | 77%
|
|======================================================================== | 77%
|
|======================================================================== | 78%
|
|========================================================================= | 78%
|
|========================================================================= | 79%
|
|========================================================================== | 79%
|
|========================================================================== | 80%
|
|=========================================================================== | 80%
|
|=========================================================================== | 81%
|
|============================================================================ | 81%
|
|============================================================================ | 82%
|
|============================================================================= | 82%
|
|============================================================================= | 83%
|
|============================================================================== | 83%
|
|============================================================================== | 84%
|
|=============================================================================== | 85%
|
|================================================================================ | 86%
|
|================================================================================ | 87%
|
|================================================================================= | 87%
|
|================================================================================== | 88%
|
|================================================================================== | 89%
|
|=================================================================================== | 89%
|
|=================================================================================== | 90%
|
|==================================================================================== | 90%
|
|==================================================================================== | 91%
|
|===================================================================================== | 91%
|
|===================================================================================== | 92%
|
|====================================================================================== | 92%
|
|====================================================================================== | 93%
|
|======================================================================================= | 93%
|
|======================================================================================= | 94%
|
|======================================================================================== | 94%
|
|======================================================================================== | 95%
|
|========================================================================================= | 95%
|
|========================================================================================= | 96%
|
|========================================================================================== | 96%
|
|========================================================================================== | 97%
|
|=========================================================================================== | 97%
|
|=========================================================================================== | 98%
|
|============================================================================================ | 99%
|
|=============================================================================================| 100%
voting_districts <-
glue::glue(
"https://geoportal.stadt-koeln.de/arcgis/rest/services/Basiskarten/kgg/\\
MapServer/20/query?where=objectid+is+not+null&text=&objectIds=&time=&\\
geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=\\
esriSpatialRelIntersects&distance=&units=esriSRUnit_Foot&relationParam=&\\
outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=\\
&geometryPrecision=&outSR=4326&havingClause=&returnIdsOnly=false&return\\
CountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=\\
&returnZ=false&returnM=false&gdbVersion=&historicMoment=&returnDistinct\\
Values=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&datum\\
Transformation=¶meterValues=&rangeValues=&quantizationParameters=&\\
featureEncoding=esriDefault&f=geojson"
) %>%
sf::st_read(as_tibble = TRUE) %>%
sf::st_transform(3035) %>%
dplyr::transmute(Stimmbezirk = as.numeric(nummer))
afd_votes <-
glue::glue(
"https://www.stadt-koeln.de/wahlen/bundestagswahl/09-2021/praesentation/\\
Open-Data-Bundestagswahl476.csv"
) %>%
readr::read_csv2() %>%
dplyr::transmute(Stimmbezirk = `gebiet-nr`, afd_share = (F1 / F) * 100)
election_results <-
dplyr::left_join(
voting_districts,
afd_votes,
by = "Stimmbezirk"
)
immigrants_cologne <-
z11::z11_get_100m_attribute(STAATSANGE_KURZ_2) %>%
terra::crop(election_results) %>%
terra::mask(terra::vect(election_results))
inhabitants_cologne <-
z11::z11_get_100m_attribute(Einwohner) %>%
terra::crop(election_results) %>%
terra::mask(terra::vect(election_results))
immigrant_share_cologne <-
(immigrants_cologne / inhabitants_cologne) * 100
election_results <-
election_results %>%
dplyr::mutate(
immigrant_share =
exactextractr::exact_extract(immigrant_share_cologne, ., 'mean'),
inhabitants =
exactextractr::exact_extract(inhabitants_cologne, ., 'mean')
)
sdep package with its function spdep::poly2nb() or the more modern approach of the sfdep package using the sfdep::st_contiguity(). In both cases you have to set the option queen = FALSE .
We have not used them, but you can also create distance-based weight matrices. Use again the package of your choice and create weights for a distance between 0 and 5000 meters. Use again row-normalization.
For the purpose of this exercise, you also have to convert the polygon data to point coordinates. I’d propose to use the centroids for this endevour:
election_results_centroids <- sf::st_centroid(election_results)
spdep use the function spdep::dnearneigh() and if you use sfdep use the function sfdep::st_dist_band().
afd_share.
spdep and sfdep – as it determines the way how you solve this exercise.